package elm.dao;

import elm.entity.po.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

/**
 * 用户数据访问接口
 * 提供基于数据库的用户信息管理功能，包括：
 * - 基础的CRUD操作（继承自CrudRepository）
 * - 自定义查询方法：根据手机号和密码查找用户
 */
@Repository
public interface UserDao extends CrudRepository<User, Long> {

    /**
     * 根据手机号和密码查询用户信息
     *
     * @param phone    用户注册手机号
     * @param password 用户登录密码
     * @return 匹配条件的用户对象，若未找到则返回null
     * 查询逻辑：在数据库中匹配同时符合指定手机号和密码的记录
     * 注意事项：密码参数应为加密后的密文，不建议使用明文密码进行查询
     */
    User findUserByPhoneAndPassword(String phone, String password);
}
